using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication4
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void textBox1_Leave(object sender, EventArgs e)
        {
            // Reset the colors and selection of the TextBox after focus is lost.
            textBox1.ForeColor = Color.Navy;
            textBox1.BackColor = Color.LightSalmon;
            textBox1.Select(0, 0);
        }

        private void maskedTextBox1_Leave(object sender, EventArgs e)
        {
            try
            {
                if ((Convert.ToDateTime(maskedTextBox1.Text) < Convert.ToDateTime("1/1/1950")) || (Convert.ToDateTime(maskedTextBox1.Text) >  DateTime.Now.AddYears(100)))
                MessageBox.Show("Nhap sai pham vi");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Nhap sai ngay thang nam");
            }
            finally
            {
                maskedTextBox1.Text = "";
                maskedTextBox1.Focus();
            }
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }
        
        private void Form1_FormClosing(object sender, CancelEventArgs e)
        {
            if (MessageBox.Show("Thoat", "a", MessageBoxButtons.YesNo) == DialogResult.No)
                e.Cancel = true;
    
        }

        // Boolean flag used to determine when a character other than a number is entered.
        private bool nonNumberEntered = false;

        // Handle the KeyDown event to determine the type of character entered into the control.
        private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            // Initialize the flag to false.
            nonNumberEntered = false;

            // Determine whether the keystroke is a number from the top of the keyboard.
            if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
            {
                // Determine whether the keystroke is a number from the keypad.
                if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
                {
                    // Determine whether the keystroke is a backspace.
                    if (e.KeyCode != Keys.Back)
                    {
                        // A non-numerical keystroke was pressed.
                        // Set the flag to true and evaluate in KeyPress event.
                        nonNumberEntered = true;
                    }
                }
            }
        }

        // This event occurs after the KeyDown event and can be used to prevent
        // characters from entering the control.
        private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            // Check for the flag being set in the KeyDown event.
            if (nonNumberEntered == true)
            {
                // Stop the character from being entered into the control since it is non-numerical.
                e.Handled = true;
            }
        }

        // Boolean flag used to determine when a character other than a number is entered.
        private bool nonCharEntered = false;

        // Handle the KeyDown event to determine the type of character entered into the control.
        private void textBox2_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
        {
            // Initialize the flag to false.
            nonCharEntered = false;

            // Determine whether the keystroke is a number from the top of the keyboard.
            if (e.KeyCode < Keys.A || e.KeyCode > Keys.Z)
            {
                    // Determine whether the keystroke is a backspace.
                    if ((e.KeyCode != Keys.Back) && (e.KeyCode !=Keys.Space))
                    {
                        // A non-numerical keystroke was pressed.
                        // Set the flag to true and evaluate in KeyPress event.
                        nonCharEntered = true;
                    }
            }
        }

        // This event occurs after the KeyDown event and can be used to prevent
        // characters from entering the control.
        private void textBox2_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
        {
            // Check for the flag being set in the KeyDown event.
            if (nonCharEntered == true)
            {
                // Stop the character from being entered into the control since it is non-numerical.
                e.Handled = true;
            }
        }



        private void Form1_Load(object sender, EventArgs e)
        {

        }
    
    }
}